The present invention is related to following applications: xe2x80x9cMethod and Apparatus for Parallel, Weighted Arbitration Scheduling for a Switch Fabricxe2x80x9d [Attorney Docket-ZGRO 001/00US], and xe2x80x9cMethod and Apparatus for Arbitration Scheduling with a Penalty for a Switch Fabricxe2x80x9d [Attorney Docket-ZGRO 003/000US], both of which are incorporated herein by reference.
The present invention relates generally to telecommunication switches. More specifically, the present invention relates to parallel, weighted arbitration scheduling for a switch fabric (e.g., an input-buffered switch fabric).
Known switch fabrics with crossbar architectures exist where data cells received on the multiple input ports of the switch are sent to the various output ports of the switch. Scheduling techniques ensure that the data cells received from different input ports are not sent to the same output port at the same time. These techniques determine the temporary connections between input ports and output ports, via the switch fabric, for a given time slot.
Scheduling techniques can be evaluated based on a number of performance requirements to a broad range of applications. Such performance requirements can include, for example, operating at a high speed, providing a high throughput (i.e., scheduling the routing of as many data cells as possible for each time slot), guaranteeing quality of service (QoS) for specific users, and being easily implemented in hardware. Known scheduling techniques trade one or more performance areas for other performance areas.
For example, U.S. Pat. No. 5,500,858 to McKeown discloses one known scheduling technique for an input-queued switch. This known scheduling technique uses rotating priority iterative matching to schedule the routing of data across the crossbar of the switch fabric. When the data cells are received at the input ports in a uniform manner (i.e., in a uniform traffic pattern), this known scheduler can produce a high throughput of data cells across the switch fabric. When the data cells are received at the input ports, however, in a non-uniform manner more typical of actual data traffic, the throughput from this known scheduling technique substantially decreases.
Thus, a need exists to provide a scheduling technique that can perform effectively for multiple performance requirements, such as for example, operating at a high speed, providing a high throughput, guaranteeing QoS, and being easily implemented in hardware.
Scheduling is performed for a switch fabric (e.g., an input-buffered switch fabric). A first input port from a set of input ports is selected, for a first output port, based on a weight value uniquely associated with each link from a first set of links. Each link from the first set of links are between the first output port and a unique input port from the set of input ports. A second output port from a set of output ports is selected for a second input port.